package edu.sandau.app.basic.domain;

import io.swagger.v3.oas.annotations.media.Schema;

import java.util.Date;

@Schema(description = "系统用户实体")
public class SysUser {
    @Schema(description = "用户ID", hidden = true)
    private Long userId;

    @Schema(description = "用户名", required = true)
    private String username;

    @Schema(description = "昵称")
    private String nickname;

    @Schema(description = "邮箱")
    private String email;

    @Schema(description = "手机号")
    private String phonenumber;

    @Schema(description = "性别: 0=男, 1=女, 2=未知", allowableValues = {"0", "1", "2"})
    private String sex;

    @Schema(description = "头像URL")
    private String avatar;

    @Schema(description = "密码", required = true)
    private String password;

    @Schema(description = "用户状态: 0=正常, 1=停用", allowableValues = {"0", "1"})
    private String status;

    @Schema(description = "创建时间", hidden = true)
    private Date createTime;

    @Schema(description = "更新时间", hidden = true)
    private Date updateTime;

    @Schema(description = "用户类型: 0=管理员, 1=普通用户", allowableValues = {"0", "1"})
    private String userType;

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPhonenumber() {
        return phonenumber;
    }

    public void setPhonenumber(String phonenumber) {
        this.phonenumber = phonenumber;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getUserType() {
        return userType;
    }

    public void setUserType(String userType) {
        this.userType = userType;
    }
}